A great variety of motors have been developed to meet the needs of mechanized industry. Today, two of the most widely used motors for precise repeatable tasks are the step motor (also commonly called a stepper or stepping motor) and the servo motor. Since servo motor systems usually can be applied to similar tasks as step motor systems, but the converse is not always true; and since only some servo motor systems can use step motor control equipment (e.g., indexers) the discussion here will concentrate on step motor systems and controls. However, it should be appreciated that where a step motor indexer could be applied in a servo motor system the following discussion also applies.
In a step motor the normal shaft motion consists of discrete angular movements of essentially uniform magnitude, when driven from a sequentially switched direct current (DC) power supply. Thus, step motors are digital input-output devices which in response to a switched current state will rotate the shaft of a step motor a fixed angular amount. This makes step motors particularly well suited to control by modem digital electronics, such as computer microprocessors. Today, a step motor system will generally contain three discrete major units: a motor, a driver, and a controller. The motor, like most motors, is a construct of magnetically permeable materials and windings of electrically conductive wire. The driver is an assembly of electronics, primarily electronic switching components. The inputs of a driver are electrical power, step signal pulses, and an optional motor rotation direction signal. The outputs of a driver are digital pulses of sufficient current and voltage to cause, or inhibit, motor shaft movement. Both motors and drivers are well known art, and are not the subject of this invention.
The present invention relates to controllers, or indexers as modem more complex variations of step controllers have come to be called. It is the function of a controller or indexer to provide the driver with the step pulse signals, and the optional direction signal. By changing the signal outputs to the driver an indexer can effect the mechanical action of a motor in numerous ways. By providing a constant step signal (i.e., pulse frequency of zero) an indexer sets a fixed rotational angle that a motor shaft will be held at. By providing a series of step pulses at a constant frequency an indexer can set a motor shaft rotation speed. Similarly, by increasing or decreasing the frequency of step pulses, an indexer can respectively accelerate or decelerate the rate of rotation of a motor shaft. And, by changing the state of the direction signal an indexer sets a direction of motor shaft rotation.
A number of electrical systems have proven suitable for use in controllers and indexers. Early controllers used "hardwired" electronics, which often were integrated with the driver. Effectively, such primitive controllers had no "program," and any required decision making would be done by a human user, or by the actuation of common electrical limit switches and relay logic residing outside of the controller. The next generation of controllers had limited programming capabilities, via input of operating parameters with thumb-wheel switches. It was at this stage of development that controllers started to be called indexers, because of the ability they provided to "index" motorized mechanical operations (i.e., to "dial in" or precisely set positions). However, major utilization of step motor systems was not to occur until computer and micro-processor based control systems became available. Today the vast majority of indexers use electronic micro-processors, which a user or technician programs with a keyboard (or a keypad, which will be regarded as effectively the same here). The digital electronic signal levels, high speeds, and large memory capacities of micro-processor circuitry have proven very well suited for building indexers capable of guiding motor systems through very complex sequences of motor shaft orientations, variations in speed, reversals of direction, and accelerations.
To utilize the considerable flexibility which modem step and servo motor systems are capable of, indexers need to be programmed. The method of inputting a program has become one way to classify the sophistication of a system. Thus, one manner by which indexers have come to be designated is by the nature of their "user interface." Hardwiring and thumb-wheel switches, respectively, can be considered to be the first two generations of user interfaces. Today, keyboards can be considered to be the third generation. Arguably a fourth generation now exists which includes indexers with computer port communications interfaces and integrated indexer-driver electronic boards, for plugging directly into a computer bus system. However, a probably better view is that these are merely third and a half generation systems, since the ultimate user interface remains a keyboard, which is merely separate from the indexer itself.
Unfortunately, even keyboard user interfaces have their drawbacks, as most personal computer users will readily testify. They are often physically large in size, relative to the size of the actual operable electronics being programmed. They require some degree of user familiarity with key functions and key locations for efficient use (basically the trained typist vs. the hunt-and-peck typist analogy). And, the plethora of key choices which they offer tends to promote poor program design practices, such as over utilizing key variety and compelling unnecessary or redundant user input. Further, use of keyboards is currently subject to considerable legal debate, due to unresolved medical questions about keyboard ergonomics. Therefore, analogous to the search for better user interfaces for the growing complexity of personal computer applications, there is today a search for better indexer user interfaces, due to the growing complexity of step and servo motor systems and the applications which they are called upon to perform.